package model

import (
	"gorm.io/gen/field"
	"strings"
)

// ZormField user input structures
type ZormField struct {
	//Name             string
	//Type             string
	//ColumnName       string
	//ColumnComment    string
	//MultilineComment bool
	//Tag              field.Tag
	//GORMTag          field.GormTag
	//CustomGenType    string
	//Relation         *field.Relation
	Field
	PyName string //生成structs结构体时的字段名称
}

// ZormTags ...
func (m *Field) ZormTags() string {
	m.Tag.Set(field.TagKeyGormColumn, m.ColumnName)
	if _, ok := m.Tag[field.TagKeyGorm]; ok {
		return m.Tag.Build()
	}

	if gormTag := strings.TrimSpace(m.GORMTag.Build()); gormTag != "" {
		m.Tag.Set(field.TagKeyGorm, gormTag)
	}
	return m.Tag.Build()
}
